package br.gov.sjc.socialalimenta.dao;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class BaseDAO extends SQLiteOpenHelper {
    private static final String DATABASE_NAME = "SocialAlimenta";
    private static final int DATABASE_VERSION = 1;
    
    public BaseDAO(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
		
	}
    /**
     * **** 1
     */
    //TRABALHOOFR
    public static final String TBL_TRABALHOOFR = "tab_SocialA_TrabalhoOFR";
    public static final String TRABALHOOFR_ID = "_id";
    public static final String TRABALHOOFR_SIASN = "SiasN";
    public static final String TRABALHOOFR_IDMEMBRO = "idMembro";
    public static final String TRABALHOOFR_FONTE = "Fonte";
    public static final String TRABALHOOFR_VALOR = "Valor";
    public static final String TRABALHOOFR_COMPROVANTE = "Comprovante";
    //TRABALHO
    public static final String TBL_TRABALHO = "tab_SocialA_Trabalho";
    public static final String TRABALHO_ID = "_id";
    public static final String TRABALHO_SIASN = "SiasN";
    public static final String TRABALHO_IDMEMBRO = "idMembro";
    public static final String TRABALHO_TIPO = "Tipo";
    public static final String TRABALHO_RENDIMENTO = "Rendimento";
    public static final String TRABALHO_HORASPORMES = "HorasporMes";
    public static final String TRABALHO_OCUPACAO = "Ocupacao";
    public static final String TRABALHO_INSS = "INSS";
    
    /**
     *  ***** 2
     */
  //Estrutura da tabela tab_SocialA_TrabalhoOFR (sql statement)
    private static final String CREATE_TRABALHOOFR = "create table if not exists " +
    		TBL_TRABALHOOFR + "( " + TRABALHOOFR_ID + " integer primary key autoincrement, " + 
    			TRABALHOOFR_SIASN     + " integer , " +
    			TRABALHOOFR_IDMEMBRO + " integer , " +
    			TRABALHOOFR_FONTE + " text , " +
    			TRABALHOOFR_COMPROVANTE + " text , " +
    			TRABALHOOFR_VALOR + " text );";
    
    //Estrutura da tabela tab_SocialA_Trabalho (sql statement)
    private static final String CREATE_TRABALHO = "create table if not exists " +
    		TBL_TRABALHO + "( " + TRABALHO_ID + " integer primary key autoincrement, " + 
    			TRABALHOOFR_SIASN     + " integer , " +
    			TRABALHOOFR_IDMEMBRO + " integer , " +
    			TRABALHO_TIPO + " text, " +
    			TRABALHO_RENDIMENTO + " text, " +
    			TRABALHO_HORASPORMES + " text, " +
    			TRABALHO_OCUPACAO + " text, " +
    			TRABALHO_INSS + " text);";

         @Override
    public void onCreate(SQLiteDatabase database) {
        //Criação da tabela 
        	 /**
        	  *  *** 3
        	  */
        
        database.execSQL(CREATE_TRABALHOOFR);
        database.execSQL(CREATE_TRABALHO);
    }
 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        //Caso seja necessário mudar a estrutura da tabela
        //deverá primeiro excluir a tabela e depois recriá-la
    	/**
    	 *  *** 4
    	 */
    	db.execSQL("DROP TABLE IF EXISTS " + TBL_TRABALHOOFR);
    	db.execSQL("DROP TABLE IF EXISTS " + TBL_TRABALHO);
        
        onCreate(db);
    }
    
    public boolean recreateTable(SQLiteDatabase db) {
        boolean retorno = false;
    	//Caso seja necessário mudar a estrutura da tabela
        //deverá primeiro excluir a tabela e depois recriá-la
    	/**
    	 *  *** 5
    	 */
        try{
    	db.execSQL("DROP TABLE IF EXISTS " + TBL_TRABALHOOFR);
    	db.execSQL("DROP TABLE IF EXISTS " + TBL_TRABALHO);
    	
    	onCreate(db);
    	retorno = true;
        }catch(Exception e){
        	Log.e(TBL_TRABALHOOFR,"ERRO MENSAGEM:"+e.getMessage());
        	Log.e(TBL_TRABALHO,"ERRO MENSAGEM:"+e.getMessage());
        }
        
        
        return retorno;
    }
 

}
